[AD] Scalaアプリケーションの開発・保守は合同会社ミルクソフトにお任せください
この記事では、Scala 3で廃止される予定の手続き型構文(Procedure Syntax)について解説します。
手続き型構文は廃止されます
以下のような手続き型構文は廃止されます。
def f() { ... }
手続き型構文とは、メソッドを手続き型言語のメソッドに似せた書き方をすることのできる機能です。
=
を省略できるというのが特徴です。
手続き型のプログラミング言語からScalaへと移行する人のために用意されていました。
これからは手続き型構文の代わりに、以下のいずれかの書き方をする必要があります。
def f() = { ... } def f(): Unit = { ... }
必ず=
を書く必要があるというのがポイントです。
Unitという戻り値があるのは変わりません。忘れないようにしましょう。
移行は3.0にアップデートしてからでOK
Scala 2.13にて既に非推奨となっていますが、3.0でも使用することができます。
3.0において手続き型構文で書くと、通常ではコンパイルエラーになります。
しかし移行オプション3.0-migration
を設定すると、以前と同様に使用することができます。
さらに、移行オプション3.0-migration
を設定している際にコンパイラオプション-rewrite
を設定すると、自動で書き換えてもらえます。
便利ですので、3.0へのアップデート後に行うことをおすすめします。
移行オプションについてはこちらの記事をご覧ください。
サイト内検索
カテゴリ「Scala 3で廃止予定の機能」の記事
弱適合:Scala 3で廃止予定の機能(13)
DelayedInitの解説:Scala 3で廃止予定の機能(1)
[this]修飾子:Scala 3で廃止予定の機能(12)
Scala 3で変更・廃止予定の機能と移行作業についてのまとめ
シンボルリテラルの解説:Scala 3で廃止予定の機能(3)
自動適用:Scala 3で廃止予定の機能(14)
forSomeによる存在型:Scala 3で廃止予定の機能(6)
型射影:Scala 3で廃止予定の機能(7)
手続き型構文:Scala 3で廃止予定の機能(8)
先行初期化:Scala 3で廃止予定の機能(9)
do-while文の解説:Scala 3で廃止予定の機能(4)
Scala 2のマクロ:Scala 3で廃止予定の機能(5)
クラスシャドウイング:Scala 3で廃止予定の機能(10)
XMLリテラルの解説:Scala 3で廃止予定の機能(2)
大域脱出:Scala 3で廃止予定の機能(11)
カテゴリ「Scala 3で廃止予定の機能」の記事
弱適合:Scala 3で廃止予定の機能(13)
DelayedInitの解説:Scala 3で廃止予定の機能(1)
[this]修飾子:Scala 3で廃止予定の機能(12)
Scala 3で変更・廃止予定の機能と移行作業についてのまとめ
シンボルリテラルの解説:Scala 3で廃止予定の機能(3)
自動適用:Scala 3で廃止予定の機能(14)
forSomeによる存在型:Scala 3で廃止予定の機能(6)
型射影:Scala 3で廃止予定の機能(7)
手続き型構文:Scala 3で廃止予定の機能(8)
先行初期化:Scala 3で廃止予定の機能(9)
do-while文の解説:Scala 3で廃止予定の機能(4)
Scala 2のマクロ:Scala 3で廃止予定の機能(5)
クラスシャドウイング:Scala 3で廃止予定の機能(10)
XMLリテラルの解説:Scala 3で廃止予定の機能(2)
大域脱出:Scala 3で廃止予定の機能(11)